<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>后台主页</title>
  <!-- 导入 layui 的样式表 -->
  <link rel="stylesheet" href="./assets/lib/layui/css/layui.css" />
  <!-- 导入第三方图标库 -->
  <link rel="stylesheet" href="./assets/fonts/iconfont.css" />
  <!-- 导入自己的样式表 -->
  <link rel="stylesheet" href="./assets/css/index.css" />
</head>

<body>
  <div class="layui-layout layui-layout-admin">
    <div class="layui-header">
      <!-- 1. 修改logo图片 -->
      <div class="layui-logo layui-hide-xs layui-bg-black">
        <img src="./assets/images/logo.png" alt="" />
      </div>
      <!-- 头部区域（可配合layui 已有的水平导航） -->
      <!-- 2. 删除左列表，修改右列表 -->
      <ul class="layui-nav layui-layout-right">
        <li class="layui-nav-item layui-hide layui-show-md-inline-block">
          <a href="javascript:;" class="userinfo">
            <img src="./assets/images/guigui.jpg" class="layui-nav-img">
            <span class="text-avatar">R</span>
            个人中心
          </a>
          <dl class="layui-nav-child">
            <dd><a href="./user/user_info.html" target="fm">基本资料</a></dd>
            <dd><a href="./user/user_avatar.html" target="fm">更换头像</a></dd>
            <dd><a href="./user/user_pwd.html" target="fm">重置密码</a></dd>
          </dl>
        </li>
        <!-- 3. 改造退出按钮 -->
        <li class="layui-nav-item">
          <a href="javascript:;" id="btnLogout">
            <span class="iconfont icon-tuichu"></span>退出
          </a>
        </li>
        <!-- <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
          <a href="javascript:;">
            <i class="layui-icon layui-icon-more-vertical">退出</i>
          </a> 
        </li> -->
      </ul>
    </div>

    <div class="layui-side layui-bg-black">
      <div class="layui-side-scroll">
        <!-- 侧导航头像 -->
        <div class="userinfo">
          <img src="./assets/images/guigui.jpg" class="layui-nav-img">
          <span class="text-avatar">R</span>
          <span id="welcome">Restia</span>
        </div>
        <!-- 左侧导航区域（可配合layui已有的垂直导航） -->
        <ul class="layui-nav layui-nav-tree" lay-shrink="all">
          <li class="layui-nav-item layui-this">
            <a href="./home/dashboard.html" target="fm">
              <span class="iconfont icon-home"></span>首页
            </a>
          </li>

          <li class="layui-nav-item layui-nav-itemed">
            <a class="" href="javascript:;">
              <span class="iconfont icon-16"></span>文章管理
            </a>
            <dl class="layui-nav-child">
              <dd>
                <a href="../z_article/art_cate.html" target="fm">
                  <i class="layui-icon layui-icon-app"></i>文章类别
                </a>
              </dd>
              <dd>
                <a href="javascript:;">文章列表</a>
              </dd>
              <dd>
                <a href="javascript:;">发布文章</a>
              </dd>
            </dl>
          </li>
          <li class="layui-nav-item">
            <a href="javascript:;">
              <span class="iconfont icon-user"></span>个人中心
            </a>
            <dl class="layui-nav-child">
              <dd>
                <a href="./user/user_info.html" target="fm">
                  <i class="layui-icon layui-icon-app"></i>基本资料
                </a>
              </dd>
              <dd>
                <a href="./user/user_avatar.html" target="fm">
                  <i class="layui-icon layui-icon-app"></i>更换头像
                </a>
              </dd>
              <dd>
                <a href="./user/user_pwd.html" target="fm">
                  <i class="layui-icon layui-icon-app"></i>重置密码
                </a>
              </dd>
            </dl>
          </li>
        </ul>
      </div>
    </div>

    <div class="layui-body">
      <!-- 内容主体区域 -->
      <iframe name="fm" src="./z_article/art_cate.html" frameborder="0"></iframe>
    </div>

    <div class="layui-footer">
      <!-- 底部固定区域 -->
      © www.itheima.com - 黑马程序员
    </div>
  </div>
</body>
<!-- 导入 Layui 的JS文件 -->
<script src="./assets/lib/layui/layui.all.js"></script>
<!-- 导入 jQuery -->
<script src="./assets/lib/jquery.js"></script>
<!-- 导入自己封装的 baseAPI -->
<script src="./assets/js/baseAPI.js"></script>
<script>
  $(function () {
    // 1. 调用 getUserInfo 获取用户基本信息
    getUserInfo()

    // 2. 获取到 layer 内置模块
    var layer = layui.layer

    // 3. 点击按钮，实现退出功能
    $('#btnLogout').on('click', function () {
      // 提示用户是否确认退出
      layer.confirm('确定退出登录?', {
        icon: 3, // 指定提示图标
        title: '提示' // 指定提示文本
      }, function (index) {
        //do something
        // 3.1 清空本地存储中的 token
        localStorage.removeItem('token')
        // 3.2 重新跳转到登录页面
        location.href = '/login.html'

        // 3.3 关闭 confirm 询问框
        layer.close(index)
      })
    })
  })

  // 获取用户的基本信息
  function getUserInfo() {
    $.ajax({
      method: 'GET',
      url: '/my/userinfo',
      // 1. headers 就是请求头配置对象
      // headers: {
      //   // 2. 通过逻辑或判断，去local里找token
      //   Authorization: localStorage.getItem('token') || ''
      // },
      success: function (res) {
        console.log(res)
        // 2. 获取数据失败时，提升用户
        if (res.status !== 0) {
          return layui.layer.msg('获取用户信息失败！')
        }
        // 调用 renderAvatar 渲染用户的头像
        renderAvatar(res.data)
      },
      // 3. 不论成功还是失败，最终都会调用 complete 回调函数
      // complete: function (res) {
      //   // console.log('执行了 complete 回调：')
      //   // console.log(res)
      //   // 在 complete 回调函数中，可以使用 res.responseJSON 拿到服务器响应回来的数据
      //   if (res.responseJSON.status === 1 || res.responseJSON.message === '身份认证失败！') {
      //     // 3.1 强制清空 token
      //     localStorage.removeItem('token')
      //     // 3.2 强制跳转到登录页面
      //     location.href = '/login.html'
      //   }
      // }
    })
  }

  // 渲染用户的头像
  // 形参user是接口返回的用户信息
  function renderAvatar(user) {
    // 1. 获取用户的名称 （如果用户有昵称则渲染昵称，反之这渲染用户名
    let name = user.nickname || user.username
    // 2. 设置欢迎的文本
    $('#welcome').html('欢迎&nbsp;&nbsp;' + name)
    // 3. 按需渲染用户的头像
    if (user.user_pic !== null) {
      // 3.1 渲染图片头像 改变src的属性值,并展示图片头像关闭文字头像
      $('.layui-nav-img')
        .attr('src', user.user_pic)
        .show()
      $('.text-avatar').hide()
    } else {
      // 3.2 渲染文本头像
      $('.layui-nav-img').hide()
      // 3.3 获取用户名称的首个字符
      var first = name[0].toUpperCase()
      $('.text-avatar')
        .html(first)
        .show()
    }
  }
</script>

</html>